#pragma once
#include "ui_q_painter.h"
#include <QMainWindow>
#include <QPainter>
#include <QPaintEvent>
#include <QPen>
#include <QPushButton>

/**
 * @brief 自定义绘图窗口类，继承自QMainWindow
 * 
 * 该类实现了一个带有绘图功能的窗口，包含基本的UI元素和绘图功能
 */
/**
    Q_OBJECT  // Qt元对象系统，用于支持信号槽机制
 */
class q_painter : public QMainWindow {
    Q_OBJECT  // Qt 宏，用于支持信号和槽机制
    
public:
    /**
     * @brief 构造函数
     * @param parent 父窗口指针，默认为 nullptr
     */
    q_painter(QWidget* parent = nullptr);
    /**
     * @brief 析构函数
     */
    ~q_painter();

    /**
     * @brief 重写绘图事件处理函数
     * @param event 绘图事件指针
     */
    void paintEvent(QPaintEvent* event) override;




private:
    Ui_q_painter* ui;  // UI 界面指针
    int pos_x_ = 150;    // X 坐标位置，初始值为 0
    QPushButton* button_;  // 按钮指针
    void on_button_clicked();  // 按钮点击事件处理函数
};